home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 1 / LSD Compendium Deluxe 1.iso / a / intuition / window / ptool12.lha / palettetool_v1.2 / PaletteTool.doc < prev   
Encoding:
Text File  |  1993-10-01  |  12.8 KB  |  362 lines

  1.  
  2. PaletteTool - a Public Screen palette for 32 or more colors
  3. -----------------------------------------------------------
  4.  
  5. Copyright ©1993 by Timothy B. Kreuzer.  All rights reserved.
  6.  
  7. Version: 1.2
  8.  
  9. Author: Tim Kreuzer (and the KreuzerSoft support team)
  10.  
  11. Language: SAC/C V6.3
  12.  
  13. Features: Opens on the default public screen (initially the Workbench)
  14.           Supports 32, 64, 128, and 256 color modes only
  15.           (*) Full 8 bit RGB support
  16.           Protects the 8 Workbench colors and the 3 pointer colors
  17.           Supports "color spreads" and individual color copying
  18.           Supports color cycling of entire palette in both directions
  19.            with adjustable cycle speed
  20.           Features an "undo" for the last copy or spread action
  21.           (*) Iconify function
  22.           Upon exit, restores palette to where it was at start-up
  23.           Separate versions for: 68020 CPU (A1200)
  24.                                  (*) 68030 CPU (A1200/A4000)
  25.                                  68040 CPU (A4000)
  26.           Tested OK using the Enforcer
  27.  
  28.           (*) = New in Version 1.2
  29.  
  30. Limitations: Can only be used from the Workbench (start via Icon). 
  31.  
  32.  
  33. Version 1.2 Notes
  34. -----------------
  35. Added full 8-bit RGB support (Hurray!).
  36. Added Iconify ("I" button) support.
  37. Added About ("?" button).
  38. Added support for "X" and "Y" icon tooltypes to determine position
  39.  of PaletteTool window at startup.
  40. Corrected the Spread function's math to allow "smoother" spreads.
  41. PaletteTool will no longer open on a screen that supports less than
  42.  32 colors; a nice requester will pop up to remind you of this if you try.
  43. Fixed problem where original palette was not correctly restored upon
  44.  quiting following certain types of Undo actions.
  45. Fixed problem where the currently selected color's RGB slider values were
  46.  not correctly reset after an Undo action.
  47. All other features operate the same as in version 1.1.
  48.  
  49.  
  50. Version 1.1 Notes
  51. -----------------
  52. Added the Copy, Undo, and Spread capabilities.
  53. Added the "restore palette at exit" capability.
  54. All other features operate the same as in initial release version.
  55.  
  56. The loading and unloading of the palettes at the beginning and end of
  57. cycling can lock up your Amiga for 1 second or so.
  58.  
  59. DON'T PANIC IF THIS SHOULD HAPPEN!  OK?  Sorry for yelling!
  60.  
  61.  
  62. Why did I create PaletteTool?
  63. -----------------------------
  64. After deciding to take the plunge and buy an A4000 (which, by the way, is a
  65. fantastic machine!), I was disappointed in the current lack of applications
  66. which exploit the increased color capabilities of 3.0/AGA.  I went about
  67. creating some simple, yet fun, graphics toys with would exploit the color
  68. modes above 16 (see my Fractal, Lyapunov Space, and Terrain uploads).  Then
  69. I realized that these graphic toys needed some type of palette control, as
  70. Commodore saw fit to release a palette tool which would only handle the 
  71. 8 Workbench colors.  This need resulted in PaletteTool.
  72.  
  73. I decided that is was much better to implement the palette control for 
  74. these applications as a separate utility, rather than embed it within
  75. each one.
  76.  
  77. NOTE that PaletteTool can be used to alter the color palette of ANY
  78. Workbench or Public Screen which supports at least 32 colors.  It's
  79. functioning is not in any way dependant upon the presence of the Fractal,
  80. Lyapunov Space, or Terrain programs.
  81.  
  82. IF YOU HAVE FRACTAL, LYAPUNOV SPACE, OR TERRAIN, PREPARE TO BE IMPRESSED BY
  83. WHAT COLOR CYCLING AND THE FULL 8-BIT RGB SUPPORT WILL DO FOR YOUR IMAGES!
  84.  
  85.  
  86.  
  87. How do you use PaletteTool?
  88. ---------------------------
  89. Just click on the PaletteTool icon.  PaletteTool will detect the number of
  90. colors available on the default Public Screen, and open it's window on this
  91. screen.  Note that the Workbench screen is the standard default Public
  92. Screen.
  93.  
  94. You can get PaletteTool to open on ANY public screen (like the AGA ones
  95. opened by Window Blender) by using you favorite public screen utility
  96. to change the default public screen.  I use PublicScreenX to accomplish
  97. this.
  98.  
  99.  
  100. PaletteTool window description
  101. ------------------------------
  102. The PaletteTool window consists of the following items:
  103.  
  104.  1) The current screen palette (color register display) is at the top of
  105.     the window.  This is where you select (using the pointer and the 
  106.     left-mouse-button):
  107.  
  108.     - the color to be modified by the Red/Grn/Blu sliders
  109.         - the colors associated with Copy and Sprd (spread) actions.
  110.  
  111.  2) A box which displays the currently selected color (on the middle-right
  112.     side of the window).
  113.  
  114.  3) Three color modification sliders, one each for the Red (Red),
  115.     Green (Grn), and Blue (Blu) color components.
  116.  
  117.  4) A "Show" button which flashes the currently selected color.
  118.  
  119.  5) A "Sprd" button which allows spreads (gradients) between two selected
  120.     color register.  (Note that spread "from" color register must be prior
  121.     to the "to" color register - more on this later.)
  122.  
  123.  6) A "Copy" button which allows the copying of one color register's RGB
  124.     values into another color register.
  125.  
  126.  7) An "Undo" button which restores the palette colors to how they were
  127.     prior to the immediately previous Copy or Sprd (spread) action.
  128.  
  129.     Note that I said "how they were prior to the immediately previous
  130.     Copy or Sprd (spread) action".  Don't get confused and think that
  131.     the program is acting up when you do an Undo, and some individual
  132.     color register mods you have made since the last Copy/Sprd get
  133.     wiped out!
  134.  
  135.     IMPORTANT - Repeatedly selecting Undo will toggle the palette between
  136.                 where it was (before the last Copy/Spread) and where it
  137.                 is (before you selected Undo).  Try this to get a better
  138.                 (or any) sense of what I'm trying to explain ;v).
  139.  
  140.  8) A "Cycle" button which starts/stops the cycling of all colors in the
  141.     palette.
  142.  
  143.     Note that all non-cycle-related sliders/buttons/etc. are disabled
  144.     while cycling is in progress.
  145.  
  146.  9) A "Spd" slider, which control the speed of the color cycling.  Values
  147.     range from 1 (= slowest) to 20 (= fastest).
  148.  
  149.     Note that the cycle speed control is active during cycling (i.e., you
  150.     can change speeds which you are cycling).
  151.  
  152. 10) A cycle-direction control.
  153.  
  154.     Forwd = Forward Cycle  and  Revrs = Reverse Cycle.
  155.  
  156.     Note that the cycle-direction control is active during cycling 
  157.     (i.e., you can change directions while you are cycling).
  158.  
  159. 11) An "I" (Iconify) button, which changes the PaletteTool window into
  160.     a single ("Open") button.  Pressing the Open button will restore the
  161.     PaletteTool window.
  162.  
  163. 12) A "?" (About) button, which opens an info requestor.
  164.  
  165.  
  166. PaletteTool operation
  167. ----------------------
  168. You select a color for modification (or just viewing) by left-clicking
  169. on one of the colors in the palette display. 
  170.  
  171. This becomes the "active" color.
  172.  
  173. The "currently selected color" box on the middle-right side of the window
  174. will change to show you the color you just picked.
  175.  
  176. If you get confused as to which color you actually picked (which can easily
  177. happen with 256 colors!), pressing the "Show" button will flash the
  178. currently selected color.
  179.  
  180. Once a color is selected, it's RGB components can be modified by using
  181. the three Red/Grn/Blu sliders.
  182.  
  183.  
  184. Color "spreads"
  185. --------------
  186. Color spreads between two palette colors is accomplished via the "Sprd"
  187. button.  To perform a "spread":
  188.  
  189.     - first select the starting color
  190.         - hit the "Sprd" button
  191.         - then select the ending color
  192.  
  193. All intermediate color registers will then be changed to a smooth 
  194. gradient between the staring and ending colors.
  195.  
  196. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  197. >> Note that spreads only work in the "positive color register <<
  198. >> direction". That is, the ending color must be physically to <<
  199. >> the right and/or down from the starting color.              <<
  200. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  201.  
  202.  
  203. Color copying
  204. -------------
  205. The copying of a color from one register to another is accomplished via
  206. the "Copy" button.  To perform a copy:
  207.  
  208.     - first select the color to be copied
  209.         - hit the "Copy" button
  210.         - then select the register where that
  211.           color should be copied-to
  212.  
  213. Note that unlike spreads, you can copy any color register to another one.
  214.  
  215.  
  216.  
  217. About the palette display
  218. -------------------------
  219. The palette display is fixed in size.  Therefore, the displayed size of
  220. each color in the palette decreases as the number of screen colors
  221. increases.
  222.  
  223. The color registers are displayed in "row sequential form" from left-to-
  224. right and top-to-bottom.
  225.  
  226. Therefore, the first row in the palette display consists of color registers
  227. 0, 1, 2, 3, 4, etc.
  228.  
  229.  
  230.  
  231. Icon Tooltypes
  232. --------------
  233. X = <number>    -    The X-coordinate at which the PaletteTool window
  234.                      will initially open.
  235.  
  236. Y = <number>    -    The Y-coordinate at which the PaletteTool window
  237.                      will initially open.
  238.  
  239. If these tooltypes are not present, the PaletteTool window will open at
  240. coordinates X=10 Y=10.
  241.  
  242.  
  243.  
  244. About the "protected screen colors"
  245. -----------------------------------
  246. It appears that the 8 colors used by the Workbench display (window borders,
  247. backgrounds, highlighting, etc.) are always assigned to the following color
  248. registers:
  249.  
  250.     0,1,2,3  >and<  the last four colors in the screen palette.
  251.  
  252. PaletteTool will NOT allow you to select these 8 color registers.
  253.  
  254. Additionally, color registers 17, 18 and 19 appear to be consistently
  255. reserved for the screen pointer.
  256.  
  257. PaletteTool will NOT allow you to select these 3 color registers).
  258.  
  259. **************************************************************************
  260. If you attempt to select one of these color register, nothing will happen.
  261. **************************************************************************
  262.  
  263. In fact, if you are selecting the "to" color register for a Copy or Sprd
  264. (spread) action, the pending action will be cancelled.
  265.  
  266. PaletteTool operates this way because I didn't want to able to screw up
  267. the colors which the system (or you for that matter) expect to remain
  268. unchanged.
  269.  
  270. Note that the three pointer colors will also be skipped if you do a spread
  271. whose starting color register number is less than 17, and whose ending
  272. color register is greater than 19.  This allow you to do spreads without
  273. having to worry about "clobbering" the pointer colors.
  274.  
  275.  
  276. Other considerations
  277. --------------------
  278. The user should exercise care when changing any color which another 
  279. application on the screen may already be using.  If you are uncertain 
  280. about this, just use the "Show" button to flash the color.  This
  281. will flash the color in the palette display as well as any other place
  282. that color register is employed.
  283.  
  284. Additional note: For Workbench backdrop pictures (IFF ones), it appears
  285. that the Workbench allocates color registers at the high-end of the palette.
  286. Since, however, PaletteTool restores the palette when it exits, you should
  287. be able to return to "normal".
  288.  
  289.  
  290.  
  291. Credits/Miscellaneous
  292. ---------------------
  293. The GUI for PaletteTool was developed using Jan van den Baards'
  294. wonderful GadToolsBox.
  295.  
  296. Window Blender is a fantastic 3.0/AGA graphics program written by
  297. Fred Mitchell.
  298.  
  299. PublicScreenX is a marvelous public screen manager written by Steve Tibbett.
  300.  
  301.  
  302. Thanks to the KreuzerSoft support team.
  303.  
  304. Thanks to the Nations Capital Amiga Users Group (NCUAG).
  305.  
  306. Thanks to Commodore for the Amiga, and to Jan van den Baard for making
  307. the development of GUI's on the Amiga child's play.
  308.  
  309. Thanks to Commodore for (finally) releasing the 3.0 Includes and Libraries!
  310.  
  311.  
  312. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  313. >> Please let me know if you have any problems/suggestions/comments/etc. <<
  314. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  315.  
  316.  
  317. I can be reached at T.KREUZER on GEnie, or via regular mail at:
  318.  
  319.     6711A N. Washington Blvd.
  320.     Arlington, VA  22213
  321.  
  322.  
  323.  
  324. Legal Section
  325. -------------
  326. PaletteTool Version 1.1
  327. Copyright ©1993 by Timothy B. Kreuzer.  All rights reserved.
  328.  
  329. PaletteTool is freely redistributable, as long as the following rules are
  330. followed:
  331.  
  332.         - This doc file must be kept with the executable(s), and must
  333.           include the above copyright notice.
  334.  
  335.         - You may not charge any fee for this program, other than the basic
  336.           cost of distribution media and/or BBS access.  Of course if
  337.           you want to pursue selling this, feel free drop me a line.
  338.  
  339.  
  340.  
  341. Commercial Section
  342. ------------------
  343. The following KreuzerSoft projects are (hopefully) available on a BBS
  344. near you:
  345.  
  346.         Fractal V1.1       - Mandelbrot set program for 3.0/AGA.
  347.  
  348.         LyapunovSpace V1.1 - Lyapunov fractal program for 3.0/AGA.
  349.  
  350.         Terrain V1.1       - 3-D fractal terrain program for 3.0/AGA.
  351.  
  352.         Worm V1.1          - Port of SUN-Unix graphic toy for all Amigas.
  353.  
  354.         DLA                - Diffusion Limited Aggregation simulation for
  355.                              all Amigas.
  356.  
  357.         Jimi               - 8-color Jimi Hendrix image for your Workbench.
  358.  
  359.  
  360.         All for the incredibly low, low price of FREE!
  361.  
  362.